@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}}AST |||DDOS DOSDOS SYS }}}}}}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<81} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK F-}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED305 FREE SECTORS COPYING---D1:RAYG4}UN.SND# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 1.?}D1:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 165ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uT} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uTHE DRAGON'S TAIL part III This documentation may not be copied, photocopied, reproduced, translated, or telecommunicatV}ed in any form, in whole or in part, without the prior written consent of Antic Publishing, Inc.The accompanying program maW}terial may not be duplicated, in whole or in part, for any purpose. No copies of the floppy disk(s) may be sold or given to X}any person or other entity.Notwithstanding the above, the documentation and accompanying disk(s) may be duplicated for the Y}sole use of the original purchaser.Antic is a trademark of Antic Publishing, Inc.eproduced, translated, or telecommunicatUA Tutorial on SCRLD and the Editor.By Ed Churnside.1. Introduction.There are many new concepts and techniques you will [}need to understand, to get the most out of the SCRLD routine and the Editor. In the documentation all the routines and comman \}ds are listed and described. This tells you what the program does, but not how to use it. In this tutorial we cover most of t ]}he commands and try to explain the underlying concepts.2. Set Up.This is a Hands-On tutorial, we are going to try things ^}as we go. We need to set up a work disk to practice with.1) Format a new disk.2) Copy all the files with extenders of .PG _}M .SCR .MAP and .SND to this disk from Side 2 of the program Disk.3) Copy SCRNHELP.FIL and SCRNCHAR.MAP from Side 1 of the `}program disk.3. The SCRLD Process.Boot Side 1 of your program disk and run the demo. Watch carefully as the demo loads a a}nd runs. Is it loaded? Then we will begin.The first thing you will have noticed is that a screen load both animates and pro b}vides sound effects. Did you notice the pause in the middle when the full title was displayed? Did you hear the disk loading c}frantically?A compressed or animation file is a set of instructions to the SCRLD routine, something like a program. It cont d}ains both commands and data. The purpose of the editor is to make it easy to build these files. The SCRLD routine recognises e}16 commands, which are listed in full in the reference manual. A call to SCRLD by your Basic Program tells the routine to loa f}d the file into a buffer and execute the commands it finds there. The menu is actually two calls to SCRLD, one to do the ti g}tle sequence, the other to display the menu. Hit SYSTEM RESET, then LIST 1,299. This is the program, the other code just load h}s the SCRLD routine. Do you see the two calls to SCRLD3 on lines 130 and 140. These calls do all the work, the rest is just s i}et up and menu selection.4. Buffer Size.Look at the buffer, 22000 bytes. Hmmm... Pretty Big! Does it have to be that big j}? Well, yes and no. Change the 22000 in line 140 to 5000 and rerun the program.What happened? The animation loaded but it p k}aused three times while it was drawing the screen. These pauses occured when it had to refresh the buffer. Did you notice the l} helicopter sound effect stop. Disk I/O turns off the sound effects, it also turns of a feature called loops, which I will ex m}plain later.To avoid these side effects you simply use a buffer large enough to hold the entire file. Multiply the number o n}f sectors in the file by 125 to get the optimum size.A file that contains only a single screen of information tends to be q o}uite small because of the screen compression process, 12-14 sectors for a graphics 7 screen is quite common. For these files p}a buffer of 2K is usually more than adequate. Files that do animation contain multiple screens of information. These files ar q}e often hundreds of sectors long and require a buffer of 20K or more. How big a buffer you can afford depends on the complexi r}ty of the code in your program, so bear these limitations in mind when you design your screens.Really long animations can b s}e accomplished by designing pause points into your sequence and using multiple files and multiple calls to SCRLD.The total t}length of the sequence you create depends on the amount of disk space you have available, what resolution you are using, how u}much of the screen you change and how frequently it is changed. Take this menu as an example. It contains a lot of text, whic v}h for reasons you will soon understand, compresses really poorly. It is in Graphics 7, a fairly high resolution mode. It chan w}ges pretty large chunks of the screen, some of the moving images are almost a quarter of the screen long and it changes 10-20 x} times a second. Even so, the two files combined use less than half a disk for 90 seconds of animation. This is almost 800 sc y}reens of data! I see no reason why a skillful designer cannot create animated sequences 30 minutes long using a buffer of 20K z} and a single side of a disk. If you use as much repetition as the average Saturday morning cartoon, you can stretch that eve {}n further.5. The Screen Editor.We have learned all we can from the menu program, Press the 1 key to go to the editor.N |}ow you are looking at a black graphics 7 screen with a text window. The text window is filled with an almost meaningless jumb }}le of Inverse and Normal Characters. What does it all mean? The Inverse Characters are identifiers to tell you what the field ~}s is, and the normal characters are the current values. The top line is the last command line and almost always shows the las }t command you typed. The second line is the command line. It is here that you enter your commands. The third line is the stat }us line and I will be saying much more about this in a few minutes. The last line is the color line, and its meaning is prett }y obvious, giving the current color and luminosity of each color register.The editor is completely controlled by the keyboa }rd. You type in a command at the command prompt and hit return. The editor will execute your command and then come back for a }nother. Editor commands consist of a single character followed by a number of parameters. The parameters are separated by one } or more spaces. You can only enter a single command per line. Whenever I want you to type a command, I will separate it from } the text. I need to type multiple commands per line to keep the size of this document down so I will use a slash "/" to show } the return key being pressed. Whenever I show a command in this way, you should type it on your keyboard, watch what happens } and then continue reading the text. By the time you finish this tutorial you will know everything you need to know to build }the menu animation. Lets try one:?Get the idea. ? is the disk directory command, and you should now be looking at the dir }ectory of side 1 of the program disk. Hit return to go back to the command prompt.? SEQ*.*See the files SEQ1.SCR and SEQ2 }.SCR. These are the animation files for the menu. ? 2 would give you the directory of drive 2 if you had one.H ?Whats thi }s? H is the help feature. A file called SCRNHELP.FIL contains the general format of all the editor commands, and some other }useful help information. This file uses () to show parameters, [] to show optional parameters, and / to separate various valu }es that can go in a particular position. You can get help whenever the disk in drive 1 contains the SCRNHELP.FIL.HThis is } a list of all the information on the help file. Scroll through it by pressing return until you get back to the Command promp }t. This information will be invaluable once you get used to the editor.Alright, it's time to change disk. You can change di }sk at any command prompt, unless you are currently building a macro or animation file. If you have a single drive put the wor }k disk in drive 1 at this time. If you have two drives put it in drive 2 and Type "D B 2". D is the define command. This mean }s Define Both 2. Look at the I and O on the status line. They show what drive is currently being used for Input and Output. Y }ou can assign these to separate drives with the D I n or D O n commands [Define Input and Define Output]. If you have a 130XE } feel free to use the RAMDISK and Drive 8 as a work area in your sessions, but don't forget to copy the files to a floppy bef }ore you switch off.D C 2This is another format of the define command. Define Color 2. There are 3 main formats the color }line can take. This one shows the colors in the same format as the setcolor command and displays the five screen registers. }D C 3The third format shows all nine color registers. The playfield colors as 0-4 and the player missile colors as 5 thru 8 }. Note the color and luminosity are shown in hex so that this can all fit on a single line.D C 1To get back to the standa }rd display. Want to see something else on the color line. OKL YBEEP!! L Y is not a valid command. The color line doubles }as an error line. A syntax error is either a typo or a comand that conflicts with whatever you are doing.L C XBEEP!! L C }X is a valid command but the file X does not exist. Disk I/O errors show the error number which may be looked up in the Basic } or DOS manuals if necessary.3BEEP!! 3 is a valid animation command, (all the animation commands are numeric), but there }is no animation file active at this time. See the N next to the A on the status line, this would be a Y if there was an anima }tion active. There is one other error but I will explain that one later.There are many new concepts and techniques you will IAre you feeling more comfortable now? You have started to understand the displays a little better, and you know that the edi}tor is fairly forgiving. Lets do something about that blank screen.L C CASTLE1Load Compressed is a call to the SCRLD rout}ine with a 3840 byte buffer. You have seen this screen before.VWhere did it go? Look at the number next to the V on the s}tatus line.VLook at the number again. Yes, you have two viewing areas. V or view changes the viewing area, you can also t}ype V 0 or V 1 if you want to. Lets string a couple of command together, remember a / means type return.V 1/L BLoad Buffe}r, copies the other screen or buffer into the current screen. Lets change one so we can see the difference.E 0 3Exchange }color does not change the graphics screen but it changes what colors are used to draw it. Since register 3 is the text window} color and register 0 is the background color, we now have a green text window and a black border.V/V/VSee the difference}? Now you know what the V is on the status line, what about the W? The W is whether or not the screen you are looking at will} have a text window when it loads. CASTLE1 will not have a text window. The editor always has a text window so you can enter }commands, but it can create pictures without them if you want.W PWindow Pause shows the area under the text window. Hit r}eturn to bring the editor window back. watch the W on the status line.W/W/W Y/W NWindow can act as a toggle or you can sp}ecify Y or N. Having data under a text window on a screen that is going to display with a window, is just wasting space on yo}ur file.W C/W PWindow Clear gets rid of any unwanted data. Hit return to bring back the prompt. W C can be used as a sort} of graphics guillotine when you are editing.? //V/VAn important point, neither the directory or the help commands distur}b your picture buffers. Whats the G7 on the status line? Why it is the current graphics mode, the castle is in graphics 7.G} 5You can change graphics modes with the Graphics command. You are now in graphics 5. Note that the G command does not effe}ct the W value, only the W command and the L command can do that. Why bother with other graphics modes? you ask, we can't dra}w in them anyway. Sceptics! While it is true that I do not know of a commercially available drawing programs for these modes,} the editor can support them.L B/Z D 1The lower graphics modes use a lot less memory and a lot less disk space. The Zoom} Down command allows you to use Paint or Drawit to prepare your pictures in graphics 7 and convert them. The screen is divide}d into 4 sections the upper left corner is section 1, upper right section 2, lower left section 3 and lower right section 4. }This screen was never intended to be shown in a lower graphics mode, but it neverthless illustrates the principle. Notice the} G5? Yes, you are now in graphics 5.Z D 2Graphics 5 screens Zoom Down to graphics 3.Z U 2/Z U 1Zoom Up is the reverse} of Zoom Down. A full graphics 7 screen is the size of 8 graphics 3 screens, as the current screen clearly indicates.L B/Z }HThis screen was never intended to be seen as a two color display, but a graphics 7 screen will convert to a two color grap}hics 6 screen. Since a graphics 6 screen is half the size and has half the colors, it uses the Zoom Half command. A graphics }5 screen will Zoom Half to a graphics 4 screen, or...Z D 1...you can Zoom Down from a graphics 6 display. There is no way} to change a graphics 6 screen back to a graphics 7 screen so remember to save your originals. You can take a few moments to }play with the zoom commands now if you want to......... Are you ready for some more commands now?L B/G 7/L B/NThe New com}mand clears the screen just like a graphics command, but it resets neither the graphics mode nor the color registers. This is} handy when you are building animations, you often clear the screen, and it is easier to see if something goes wrong when you} are using the correct colors. Want to change a color?C 0 3 0/C 0 7 4/C 0 12 8The Color command in this format sets the }color and luminosity just like a setcolor command.S C TEST/S P TEST/S D TEST/? TEST.*What did you do? You Saved a blank s}creen in Compressed, Paint and Drawit formats. This editor has some powerful drawing aids, but you would normally use one of }these drawing programs to prepare your screens. See the three files? TEST.SCR is compressed, TEST.PIC is Paint and TEST.DRA i}s Drawit. Notice the sizes. Paint, which always has a text window, is always 26 sectors long. Drawit, which is a full screen,} is always 31 sectors long. A compressed screens size depends on the picture you are saving. The more detail, the longer the }picture. A compressed blank screen is only 15 bytes long. Paint and Drawit are always graphics 7, a compressed screen can be }any graphics mode your computer allows, although the editor only supports graphics 1-7.L C TEST/L P TEST/L D TESTLoad is }the opposite of save. Notice how fast the compressed screen loads. No surprise really, it only has to read 15 bytes.Lets sa}y a word or two about file names. You can always type a full file name if you want. i.e. D1:TEST.SCR If you leave out the dri}ve it defaults, input functions such as Load and ? default to the Input drive, output functions such as Save default to the O}utput drive. The file extender defaults based on the type of file.ALook at the last command line. This shows the defaults} in effect. This is the Alter extender command which is used to change or view the defaults. C.SCR means that .SCR is the def}ault for Compressed files etc. R.PGM is the default for Run programs or macros. U.MAP is the default for User Maps. We will s}ay more about these types of files soon. The Alter command can be used to change these extenders.A C TST/ANow compressed }screens will default to .TST.A C SCRTo put it back the way it was. Changing the extender can be useful when creating a se}ries of files for a particular project, and you want to use a special naming convention. This system makes it very easy to ke}ep your files organised. Paint users should note that although the directory in the Paint program does not show it, all Paint} Screens have an extender of .PIC. If you change this extender Paint will not be able to access your screens.Q FThe Query} File command changes the status line to show your last file activity. It shows the last Input, Output and Animation files. T}his is very handy in long sessions, when you get interrupted and forget where you are.Q SThe Query Space command shows th}e amount of free space in the program on the Last Command line. This number is less than 100 bytes. This is not a lot of use }to you, but it was so valuable to me, when I wrote the program, that I hadn't the heart to take it out. It does serve one pur}pose. When you are using the editor and you think "Wouldn't it be nice if the program did ...." or "Why didn't Ed give us a .}.... Command". Do a Q S. This is the reason why!!rted to understand the displays a little better, and you know that the edi3I keep talking about screen compression, how does it work? The basic principle is very simple. Screen memory is just a block }of memory somewhere inside your computer that a chip called ANTIC uses to display the screen. Screen memory starts with the l}eftmost byte of the top line and ends with the rightmost byte of the bottom line. If you are not familiar with this concept, }and do not know how the various graphic modes are stored in this memory, you may like to read up on it in your basic manual, }or graphics primer. In the four color modes (graphics 3, 5 and 7), there are 4 pixels to the byte. In the two color modes (gr}aphics 4, 6 and 8), there are 8 pixels to the byte. In the character modes (0, 1 and 2) each pixel takes a full byte. The scr}een compressor works well when there are large areas of ajacent identical bytes (not pixels). This means that solid blocks of} the same color, or patterns that repeat every four pixels (four color mode), compress very well, while fine detail such as t}ext on a graphics screen, does not.The screen compressor takes advantage of the kind of conditions that exist in most draw}ings of real things. Large chunks of blue sky, green grass, the walls of buildings all compress to almost nothing. Large area}s of spaces in a text screen is another source of good compression. A geometric pattern would probably not compress well. Rem}ember, this compression technique was originally designed for use with a graphic adventures. Let us use some of the screen ed}iting commands to illustrate this effect.G 7/C 1This form of the Color command changes the editors color value. The numbe}r next to the C on the status line is now a 1. This color value is very similar to the Basic Color command. The drawing comma}nds are now going to draw in color 1.I L 0 95/J R 4/I L 0 95/W PYou now have two vertical lines the full size of the scre}en 4 pixels apart. The Insert Line command draws from the current cursor position to the specified location. The current posi}tion is 0 0, see the X0 Y0 entry on the status line. The Jump Right 4 command moves the entire screen 4 positions to the righ}t. The three drawing commands are Insert Line, Insert Point and Insert Rectangle. The Jump command can Jump Right, Jump Left,} Jump Up and Jump Down. Hit return to bring back the command prompt. We are going to repeat this sequence till we fill the sc}reen with parallel lines, but lets save ourselves some work.B M TEST/J R 4/I L 0 95/T MThe disk whirred but the screen di}d not change. Why? The Begin Macro/Terminate Macro sequence copies all the commands between them to a program file, without e}diting the commands or executing them. You have just written your first editor program and its name is TEST.PGM.R TESTRun} program, now the commands do what you would expect. The terms Macro and Program are interchangable. I usually describe a sho}rt sequence like this a a macro, whereas a longer set of instructions would be a program. Normally you build macros on the sp}ur of the moment in the editor, while programs are written separately in advance using a word processor. The ability to Run p}re-written sequences of commands is the real secret of the editor. The command set for the editor is actually a fourth genera}tion animation language, complete with conditional logic, variables and subroutines. Lets just accept this for now, we will b}e doing a lot more with programs in a few minutes.R TEST 37Run the program TEST 37 times. As the program fills the screen} look at the R and T on the status line. R1 shows you are 1 level deep within a program. Yes, programs can run programs too. }All the commands you have used so far can be put in a program. T is counting down from 37. The R and T are the Run level and }Times registers. Now you know what all the symbols on the command line mean. Control will return to you when R=0 and T=1. The} screen is now full of parallel lines, so lets get back to our compression demo.S C TEST/? TESTTEST.SCR is still only 1 s}ector long because the pattern repeats every 4 pixels. Every byte of screen memory is the same, hence great compression. Noti}ce TEST.PGM, the macro you just built!Lets try a bad, compression. The worst possible compression is where every adjacent b}yte of screen memory is different.G 7/B M TEST/I L 0 95/J R 3/T M/R TEST 53S C TEST/? TEST.*Notice how we are starting t}o string longer sequences of commands together, and you just wrote your second program. This pattern repeats every 3 pixels, }no two adjacent bytes are the same. The file is now 32 sectors long. Not only did it not compress at all, making it as long a}s a Drawit screen, but you added a little because of the control bytes the compressor uses. Remember, this is the worst possi}ble case.C 3/I R 159 5/S C TEST/? TEST.*Notice the C3 on the status line, and that Insert Rectange draws in color 3 now (}blue). The size has dropped to 30 sectors. Even with only 6 lines that compress well, you can already see the effect. The poi}nt is that the compressor almost always saves you something. Most pictures compress by 50% or better. Another useful point is} that any amount of background (color 0) at the top of the screen compresses to 2 bytes, and background at the bottom of the }screen compresses to nothing. This will become significant when we start to talk about overlays.X TEST.*X is delete file}, we have finished with these test files and programs for now. Note that X defaults to the Input drive.Sit back, relax a li}ttle, think about what you have learned so far. Go get yourself a soda. We are going to start learning about maps, probably t}he most powerful of the screen editing features. If you want to take a break and continue tomorrow I won't mind, it's up to y}ou.G 7/V/G 7/C 0/I C HELLO!The Insert Character command can be used to insert text and images onto a screen. This text is} insered from the map buffer inside the program, it is something like a character set, but as you will soon see, it is much m}ore powerful. Lets deal with another problem first. The text is all squished together.Q 0 6Remember the Query command, we }ll it can also be used to query the cursor position. See the flashing dot under the H. This is where 0 6 is on the screen. Pr }ess return to accept the new position. Note the X and Y values on the status line change, once you have accepted the position }.C 1/I C HELLO!/Q 0 12 A/C 0 2/I C HELLO!Hmmm Interesting. The color register does not effect the colors of a I C command }, they are set in the symbol table that defines the map. Instead the color value changes the space between the characters. C1 } gives 1 pixel between characters, C2 gives 2 pixels and so on. Notice the new format of the Q command. Any third parameter, }it does not have to be an A, will stop the editor pausing after the command i.e. you won't have to hit return twice. I usuall}y just repeat the last digit I typed again, since this is easier to type, but I will always use an A in these examples, to sa}ve confusion. When a Q command is issued in a program, it always behaves as if you typed a third parameter, you would not wan}t your program pausing continually.The text you are looking at is a map. This map is a character set of letters a little }larger than graphics 0 characters (when seen on a graphics 7 screen). The editor loads a map called SCRNCHAR.MAP automaticall}y when the program is run. This map contains color 1 characters on a color 0 background. A map can consist of any number of c}haracters and they can be any size. All the characters in a map must be the same size, and the total length of the map cannot} exceed 1050 bytes. The usual way to set up a map is by typing up a symbol table on a word processor and using the MAPPER pro}gram to convert it to a map. A symbol table looks like this:A111101101111101B110101110101110and so on. Lets il}lustrate this the easy way.G 1/C 1/Q 0 0 A/I C ABCWhen you look at a map symbol on a character screen, you can easily see} what it is actually plotting on a graphics screen. In a few minutes we will see maps being used for symbols other than chara}cters.Let us first look at the final format of the Q command, a format that cannot be used from a program. This is the only} thing a running program cannot do. I also should point out at this time that the Q command is the only way to change the cur}sor position. I C, V, G etc. do not change it. When we start to build our first animation you will see why.G 3/QSee the f}lashing dot at the current position (X Y on the status line). Now press the arrow keys WITHOUT PRESSING CONTROL. The cursor m}oves but the X Y value doesn't change. It won't change until you accept the new position. This is usually an easier way of mo}ving the cursor when you are trying things out, finding the X Y values to use in your programs. That's why it is called the Q}uery command. Press the 1 key then a right arrow. try it with a 2 key and a down arrow. You can do simple drawing while under } the Q command. Play around with the arrow keys and the numbers 0, 1, 2 and 3. When you understand what is going on, Press re!}turn to accept the new position. This is an easy way to touch up a picture.This Q command used this way is even more powerf"}ul on a Character screen.G 1/Q 0 0Well, it's hardly a flashing dot at 0 0, but you surely know it's there. Try playing wi#}th the numbers and arrow keys again, mix in some letters this time. I bet you wondered how you could prepare text screens. Pr$}ess the CAPS key and play some more, then the inverse video key and more play, finally press SHIFT-CAPS and play a bit more. %}Use the SHIFT-CAPS, CAPS, and Inverse Keys to change colors, just as if you were printing the text from Basic print Statement&}s. Hit return when you are finished playing.oes it work? The basic principle is very simple. Screen memory is just a block .Enjoy playing around? Good, but it's time to get back to work. This raises an interesting point. You cannot use the Q command(} in this way from a program, and the Insert Character command does not do quite what you would expect on a character screen. )}There has to be a way to insert text onto a character screen from a program. There is. The Insert String command.G 1/Q 0 0 *}A/C 0/I S **DRAGON**Changing colors using the insert string command is a pain. In this mode the Color value is used as an o+}ffset, and added to the value you are going to display. i.eQ 0 1 A/C 32/I S ABCD/Q 0 2 A/C 128/I S ABCDQ 0 3 A/C 160/I S A,}BCDThe offsets you need to change numbers are different to the ones for characters. If this seems like a silly system, I a-}m in complete agreement with you. Consult your Basic manual for the correct offsets and an explanation of how it works. ATARI.} designed it this way, so they can explain it, I certainly can't.G 3/Q 0 0 A/C 0/I S 11022033Insert String with the numbe/}rs 0-3 can be used to draw on a graphics screen. Make sure you set the offset back to 0 first. Time for some fun!G 3B M TE0}ST/R TEST1 10/J D 1/T MB M TEST1/I S 0123/J R 4/T MR TEST 20Watch the R and T values carefully. R goes to 2 each time TES1}T1 is running and back to 1 again. T is counting down from 20 on the R1 level and from 10 on the R2 level. You can run progra2}ms 3 levels deep i.e. R3. If you try to nest any deeper you will get the final error I mentioned, NESTING TOO DEEP. When you 3}get sick of watching this one press the ESCape key. ESCape will terminate all programs and return you to the command prompt. 4}This is handy when building long animations using a program, and you notice a mistake.You now know pretty much all you need5} to know about the screen editing commands and compression, and you have written several simple programs. Before we go on to 6}write our first animation file, there is one more technique that you need, overlays.Imagine you had a nice picture, our cas7}tle perhaps, drawn on a sheet of paper. Now you draw something, perhaps some text, on a clear sheet of acetate. Put the aceta8}te over the picture and you see a castle with text. The acetate is an overlay.L C CASTLE1/V/L B/N/Q 10 10 A/I C HELLO!/E 1 9}3 RAha! A new form of the Exchange color command. Exchange color 0 1 Replace. This replaces every occurence of color 1 with:} color 3, and does not change the register values. We now have black text on a green background.O FSurprise! Overlay Fill;} changes every PIXEL in the current screen that is background, to the corresponding pixel in the other viewing area.O XOv<}erlay eXtract changes every BYTE in the current screen that is the same as the corresponding byte in the other viewing area t=}o background. Remember the SCRLD routine works in bytes not pixels, so we had to fill in the edges of our overlay image. Over>}lay Fill followed by Overlay eXtract is such a common sequence when working with overlays, that it has it's own command, O B?}, Overlay Both.S O TESTSave Overlay TEST. Overlays like animations, are just another form of compressed file, so default @}to .SCR.L B/L C TESTRemember the acetate. An overlay doesn't replace the current screen, it adds to it. This is very impoA}rtant since overlays are almost all background, and compress to almost nothing.Lets talk a little about the compressed fileB}. I said earlier that it contains commands embedded within the file rather like a program. When you save a compressed file, iC}t writes a graphics command, a load color regs command, and a load screen command to the file, with all the relevant data. WhD}en you save overlay, it does not write a graphics command. SCRLD when it loads a screen DOES NOT WRITE IN ANY BYTE THAT IS ALE}L BACKGROUND. It does not have to, the screen is already all background from the graphics command. But an overlay screen doesF} not have a graphics command, so it writes in any byte that is not all background on top of the existing screen.Now do you G}know why we had to fill the edges? Because if we didn't the text would have loaded in surrounded by a small amount of backgroH}und, because SCRLD works in BYTES not in PIXELS.Now do you know how I managed to squeeze 800 screens into 300 sectors? BecaI}use the overlay technique allows you to save only the piece of a screen that has changed.Now do you know why SCRLD can animJ}ate? Because a compressed file can contain multiple load screen commands. Just like multiple frames on a movie film!Now do K}you know why I didn't land the Saucer further down the meadow? This is a hard one. Because when you move an image, you must wL}rite it in it's new position AND clear it's old position. The meadow is in backround. I cannot cross the meadow with the saucM}er because I cannot clear the saucers old position. An overlay cannot write a byte that is all background.Generally speakinN}g, when using overlays to animate, both the image you are moving, and the area you are crossing must be in the three foregrouO}nd colors.This is not completely true. By strategically placing a few flowers in the saucers path, I could have made sure iP}t didn't cross any byte that was ALL background. I can write a few pixels of background with an overlay, but not a complete bQ}yte of background. Another way would be to use a texture or checkerboard of green and yellow for the meadow, it would still hR}ave looked very grassy, and there would not have been any bytes that were all background.S C and S O are easy ways to save S}a screen. If you were working on screens of basically static images as I was in the adventure Dragon Quest, they are all you T}need. The editor has another way of saving screens. It can create a compressed file one command at a time i.e. one SCRLD commU}and at a time.O X/V/B A TEST/0/2/3/8 0 80 10 8/7 1V/3/8 0 50 10 8/7 1/8 0 0 0 0/T AL C TESTYou just built your first siV}mple animation. Lets see it again."" is ditto, it can repeat any command except a Run. Lets examine what we did,one step W}at a time.O X - create the overlay.V - View the main screen.B A TEST - Begin Animation TEST.SCR0 X} - write a graphics command.2 - write the playfield color registers.3 - write the current screenY}.8 0 80 10 8 - write a sound command (sound 0,80,10,8).7 1 - write a 1 second pause.V - View the overlayZ}.3 - write the current screen.8 0 50 10 8 - write a different sound.7 1 - write a 1 second pause.8 0 0 [}0 0 - turn off sound.T A - Terminate Animate.Lets try something else.O X/VB A TEST/0/2/3/4 10/7 1V/3/8 0 50 \}10 8/6 30/8 0 0 0 0/O FV 0 X/3/5/T AL C TESTNote the new commands.4 10 - begin loop.5 - end loop6 30 - write a 30 ]}jiffy or 1/2 second pause.The begin loop/end loop sequence is one very easy way to repeat a small section of an animation. ^}You can nest loops 10 levels deep and a single loop can repeat up to 255 times. Remember, a buffer load kills both sound effe_}cts and all active loops.Now we are going to build a more complex example using everything we have learned so far.L C CAS`}TLE1/V/L B/N/Q 20 10 A/L U SHIPB M TEST/O B/6 4/3/N/T MB A TEST/I C A/O F/8 0 120 8 8W N/0/2/3/4 200/NI C B/R TEST/I C C/a}R TEST/I C A/R TEST5/8 0 0 0 0/T AL C TESTThere was only one new command here. L U SHIP - Load User map. Remember, user mb}aps can contain any number of symbols, and that symbols may be any height and any width as long as the total length does not c}exceed 1050 bytes. User maps do not have to contain character sets. I bet you can guess why this set is called SHIP.Lets jud}st end this session on the editor with a little bit more about user maps. Make sure you LEAVE TWO SPACES before the word teste}.L U CHAR23/Q 50 8 A/C 0/I C TEST@In an Insert Character command, and in an Insert String command, leading spaces are sif}gnificant. Trailing spaces are not, but I usually define one character, @ in this case, as a space to get round this problem.g} You can, however, enter more than one word. Now for the fun part.D S 73 13/N/I C $Remember the Define command, this formq}B'DOS SYSB*+DUP SYSBUDOC 000BEZDOC 001B9DOC 002BODOC 003BM'DOC 004BRSLOTS BASB SLOTS FNTBANTICTUTBASB>}DOC 005@ ͠@͠@͠@ /͠@<͠@ K͠@ T͠@ ]͠@s͠@͠@ ͠@͠@͠@ ͠@͠@͠@ҭ̭@ ͠@Э٠@0Š@ K@VЭŠ@sƠ@͠@ˠ@ ͠@ŠŠ@BSOURCE 114BSOURCE 115BSOURCE 116BSOURCE 117BSOURCE 118BSOURCE 119BSOURCE 120B%DOS SYSB*DUP SYSBmDEMO SRCat is Define Symbol. It wipes out your old user map and replaces it with a one symbol map, containing only the symbol $. The r}symbol is a rectangle from the current cursor position, to the point you specify on the define command. You will get a syntaxs} error if you try to define too big a symbol. This can be used to move a part of the screen around. The symbol table of 1050 t}bytes is big enough to hold about 30% of a graphics 7 screen, 50% of a graphics 6 screen, and can hold an entire screen in anu}y other graphics mode. Which corner you start at is very significant.Q 50 13 A/D S 73 8/Q 50 14 A/I C $Starting at the bov}ttom left corner will mirror the image vertically.Q 73 8 A/D S 50 13/Q 74 8 A/I C $Starting at the top right corner will w}mirror the image horizontally.Q 73 13 A/D S 50 8/Q 74 14 A/I C $Starting at the bottom right corner will do both mirrors,x} or rotate the image through 180 degrees, if you prefer.Q 50 8 A/D S 74 19/Q 50 20 A/I C $A symbol in a map table can be y}pretty large. Maps created in this way can be saved with the S U or Save User command. They can then be converted to Symbol fz}ormat by the mapper program, and combined to form larger maps.L U CHOPPERH/N/Q 0 0 A/I C A/Q 0 14 A/I C BThis two charact{}er map was created this way. Why don't you try to use the Q, I C, and D S commands to get a symbol of the helicopters towing |}the sign the opposite way. Do not invert the sign, that would be too easy.n interesting point. You cannot use the Q commandL6. Editor Programs.With the exception of the special usage of the Q command, all the commands can be used in programs. In t)~}his section we are going to discuss some commands which are mainly for use in programs. It is not that you cannot enter these)} commands into the editor, it's just that you probably wouldn't want to.Simple programs can be entered from the editor, bu)}t you will probably want to use a word processor for more complex ones. When using a word processor, the maximum command leng)}th is 28 characters and enter one command per line. There are two things you can do from a word processor that you cannot do )}with the B M/T M sequence. The first is write programs that build programs themselves. This is common in more complex program)}s. You build one or two work macros and then run them. This is similar to defining subroutines and then performing them. The )}editor will let you enter a B M command, but as soon as it sees a T M command, it thinks you are finished, and ends the macro)}. The second thing you can do with a word processor is use lower case or inverse video symbols in your User maps. The editors)} keyboard routine wont let you enter these, since they would be wrong 99% of the time. When you create a macro from the edito)}r, and realise half way through that you made a mistake, you have no option but to end the macro and start again. Word proces)}sors have definite advantages in this regard. That's why I only use the B M/T M sequence for building short, spur of the mome)}nt, routines.Lets start with two simple commands * and K. An * command precedes a comment. This command does nothing, it is)} used to document programs. A Keyboard command also contains a comment. When a running program encounters a K command, it pau)}ses to let you enter a command from the Keyboard. Use the comment area on the K command to remind yourself what to do.B M T)}EST* this is a commentK just hit return* another commentT M/R TESTBefore the editor commands can truly be called a prog)}ramming language, there are two things it needs. It needs variables, and it needs conditional logic. Both of these are provid)}ed by ten user registers. Ten registers may sound a little limited, but bear in mind that the programs that created the title)} and menu sequences only used four.UThe last command line shows the first 5 registers, they are all zero at the moment.)}U 5Now you see the other five. The registers support five arithmetic functions and 4 logical functions. Lets consider the )}arithmetic functions first.#0 = 1 sets register 0 to the value 1. NOTE that the spaces must be there, #0=1 will give a synt)}ax error.#1 + 3 adds 3 to register 1.#5 - 4 will subtract 4 from register 5.#2 * 3 will multiply register 2 by 3.#4 /)} 2 will divide register 4 by 2.A user register can be put into ANY command instead of a numeric parameter. Remember when we)} drew vertical parallel lines down the screen using the Jump Right command. Here is a fancy but similar example.G 7/#0 = 0/)}#1 = 79/C 1B M TEST/Q #0 0/I L #0 #1/#0 + 4/#1 - 1/T MR TEST 40Lets try another example:G 7/#0 = 0/#1 = 159/#2 = 0/#3 =)} 75/#4 = 2B M TEST/C #4/Q #0 #2/I L #0 #1/I L #3 #2Q #1 #3/I L #1 #2/I L #0 #3#0 + #4/#1 - #4/#2 + #4/#3 - #4/#4 +1/T MR )}TEST 10/UThe ten registers are full floating point numbers, and will support fractions. When they are used in commands othe)}r than arithmetic, there integer value is used. Conditional logic is supported by 4 "if" structures. Type the following:#0 )}E 0G 2V*ENothing happened! Why? The E is an Equal test. The statements between a test and an *E (Endif) will only be exe)}cuted if the test was true. There are three other test operators, N (Not equal), > (greater than) and < (less than). Lets try)} an example:B M TESTQ #0 0/I L #0 #1#0 + 4/#1 - #2#1 < 40/#1 = 40/#2 * -1/*E#1 > 79/#1 = 79/#2 * -1/*ET M#0 = 0/#1 = )}79/#2 = 4G 7/C 3R TEST 40/UAnother way to use the registers is in character commands. A @1 will place the character whose)} ASCII value is in #1, anywhere a single character is wanted.B M TESTQ #0 #1/I S @2#0 + 1/#2 + 1#0 > 20/#1 + 1/#0 = 0/*E)}T MG 7/C 0#0 = 0/#1 = 0/#2 = 65R TEST 65/UAlthough I have illustrated the use of the registers, mainly with the drawing)} commands, their most common use in real animation is with the I C command, and user maps. This is supported by a special ver)}sion of the I C command, the I n command.G 5/Q 0 0 A/C 1L U CHAR31I 1 TESTI 2 TESTI 3 TESTI 4 TESTThis is not very u)}seful in the immediate mode, but in a program it is very powerful. The I #1 ABC/#1 + 1 sequence could be used to cycle throug)}h the three images of the saucer in SHIP.MAP.7. Redefined Character Sets.The most frequent type of animation you see on )}your Atari is probably Player-Missile graphics. This is very common in almost all arcade type games. The second most frequent)} type of animation is probably character set animation. This particularly common in conversions from Apple programs, since Ap)}ples don't have PM graphics.The principles of Character set animation are the same as full screen animation, just you are r)}eplacing small areas with characters instead of drawn graphics or symbols. When these screens are viewed with a redefined cha)}racter set, the net effect is the same, you see animated figures and objects move.Any reputable charactor generator such as)} Graphics Generator by Datasoft, will explain all you need to know about the character modes, redefining characters and anima)}ting. I just wanted to mention the possibilities of using this technique in conjunction with the SCRLD routines. The EDITOR s)}upports character screens and the I S command can be easily used to define them. When these screens are loaded with the redef)}ined character set in place, you see full screen animation.However, character screens are much smaller than graphics screen)}s of similar resolution, and much fewer bytes tend to change. The combination of the two techniques should produce very long )}sequences with comparatively short files, and quite small buffers. I don't have an example using this technique to show you. )}To really use this to good effect requires careful planning and execution and may take many weeks, months even to complete, d)}epending on the size of the project.However, as an example of character set animation, I have included a simple Slot machin)}e program on this disk. This program predates the Tail routines my many years, and was one of my first Atari programs but it )}does show off redefined characters to good effect. Just RUN "D:SLOTS.BAS" from this disk to play it. The 1, 2 and 3 keys will)} activate the hold buttons when lit and the space bar pulls the handle.8. Summary.Well that's all I have to tell you for)} now. I have not told you all the editor commands, but you have seen most of them. The reference manual lists all the editor )}commands and all the SCRLD commands. The only problem was that it would not have made much sense without a basic idea of what)} was going on. I suggest that you read through the reference manual now, then reread this tutorial. Some things that may have*}BCS((CCPSHSSSFARMLHVLVNOLIGFILEDCHBAS@@@@@A}AAA B7` @ @ @7 @@14??AFAP@!}@@"s((AU@ @rBhAR Bw!@ DD*T SLOTS - SLOT M}ACHINE PROGRAM. V.M 1.0 DATE 11/25/82.dMAINLINEi An A x" AP A}6-%@-6-&@6-#6-@- A A A Q +N( ERROR F:A, AT} LINE F:A,%F:A,$AVQSPIN WHEELS A-@@$ 8, 68,-8,%$ A }8)68,-+8,&@,$@%@868,-d8,@?68,-P:@$%+&@$,$H:,,P6}8,-8,&8,d68,-@$8, %%2@@-@@ @%}8,"A:6-%+&@,$@168,-8,&@:6-8,"=-%@-+(7<%@,96-}%@= ,68,-8,&@6 @668@,%8@,%8@,!A`E%%2}J A$*PPULL ARM+6-@3+2@@w -@(@6@,6}-@D-%@3@J-[(7<%@,i6-%@os w v-@@(@+6-@}C-%@3@I-Z(7<%@,h6-%@nr v (%2($TE}ST FOR WIN=-@@968,-@:78,$@%@,,= %%2@@'6-}6-AF'6-AP<8@,"@$6-@06-@p<6-@&?8@,"8@,'6-@36}-@B?6-@P0U18@,"8@,*8@,"8@,=6-AI6-@"U6-@0:b>8@,"@q}*8@,"A*8@,"AJ6-AV6-@b6-@DL>8@,"@)8@,"@w)8}@,"AL6-'@N9+8@,"@e)8@,"@Q96-@$X! 6-%6-@! Ab6}-@@ (-6@.2 6 l%%2v&-@@&( }&-@@ &(  6-6-@ A$PRINT NUMBER 6.=:,6-B:,6-@ }& -@ ( (-@%@(( -@/6-A:7<,,$@%@5}-G(7<%@,U-%@o(7%@<%@,}6-%@ $  WAIT*6-@6-4}c-@@468,-P:H:,%@@,P-@%@$@_(78,<8,,c >AdAUH)6}-%@!@)6-@R)6-%@!@!)6-@\/-@ (7<,%-@)/(7<,f}@!A@p6-F:Ad,z"AUA@"@3$%"@16-@% A P%"}@06-@% A P%"@&6-@% A P A0H8,!@&68,-@&8,H2}@@@F-@@3-@%@$@B(78,<8,,F /%2}/ A0SOUND FOR TITLE #A AdAU"6-@"AUA"}"A6-@$2@.!!2@%@@8'-$@ ' A BG%2}G2@L F:Ad,@3AV$` SOMEWHERE OVER THE} RAINBOWj!!16,121,16,60,8,64,4,81,4,72t""8,64,6,60,2,100,16,121,16,72~##24,81,8,100,16,144,16,91,8,96!!4,121,4,1}08,8,96,6,91,2,100""8,108,4,128,4,121,8,108,8,9632,121,255*P STARTUP+@%@k0}@ @70@@@Q0@@@k0@@@(@ SLOT*}(@ MACHINE*(@'(@ by'(@ (@  (@ }  $(@(@$(@*%%(@press to begin4 A>'+@%@'-}@Ck0@ @70@@@Q0@@@k0@@@H$$(}@press if you wantR3(@ instructions((@3(@\%%(@press to beginf}AdAUp F:Ad,"@3A0z F:Ad,@CA!`+@%@k0@ @}70@@@Q0@@@k0@@@$$(@YOU START WITH 20 $$(}@DOLLARS. TRY AND $$(@MAKE AS MUCH AS YOU(@CAN(@(@$$(@}PRESS TO SPIN2(@ THE WHEELS.'(@2(@$$(@IF THE HOLD BUTTON ##(@UN}DER A WHEEL IS $$(@GREEN THEN PRESSING$$(@ OR WILL HOLD $$(@THE RESPECIVE } ##(@WHEEL. THE HOLD  $$(@BUTTON WILL TURN  $$(@RED. PRESSING THE $ $$(@NU}MBER AGAIN WILL . $$(@CANCEL THE HOLD. 8 (@(@B %%(@press to beginL A}V +@%@` k0@ @70@@@Q0@@@k0@@}@j %%(@ PAYOUTS AS FOLLOWS ~ $$(@ ? ? CHERRY $$(@ ? CHERRY CHERRY $$(@} ? LEMON LEMON  $$(@ ? LIME LIME  $$(@ ? 1-BAR 1-BAR  $$(@ ? 2-BA}R 2-BAR  $$(@ ? 3-BAR 3-BAR  $$(@ ? PLUM PLUM  $$(@ ? BELL BELL  $$(}@ ? DOLLAR DOLLAR ##(@ 3 CHERRIES  ##(@ 3 LEMONS  ##(@ 3 LIME}S  ##(@ 3 1-BARS  ##(@ 3 2-BARS  ##(@ 3 3-BARS  ##(@} 3 PLUMS ( ##(@ 3 BELLS 2 ##(@ 3 DOLLARS < ##(@ 1-2-3 BARS } F %%(@press to beginP A *P INITIALISE +6-@ B+AY ,};@ ,"6. D:SLOTS.FNT, B  Q0@@70@@@Q0@@@ hh};A,9@,9@,9@,;@c,;@@,;@,9@,;@, '6-@6-@}'6-B7` RR6.HABCDEFYZabcdwxyz12MNOPQRefghijqrstuvGHIJKLYZabcd345678MNOPQRklmnopqrstuv  6-B:,6-'@ -}67%@,.-67@$%@,.  #A@-  ""A1 & '-@(>:,} ' A10 j-@@@68,-P:@%+&@,$H:,,f68,-+8,&@,$@%@j : {}-@@16-%+&@,$@A-%@G-_(78,<8,%@,s68,-8,%@w { D  #}AC6-N  ""A1X A6-&@6-%@+67,.>:,7!A A1`b A1P}l  #AD6-v  ""A2 3 -6-%@%67,.>:,) 3 A1 AY@4} +6-@ 6-!6-@+ A (6. (67@,.>:@ , 367@,.>:@,367@,}.>:@3, $*PINITIAL SCREEN9,32,1,2,19,3,1,4,17,321,1,19,19,1,5,16,32??1,2,3,19,1,6,13,32,1},7,3,19,1,4,2,32,1,13,1,14,1,15,10,32--1,1,3,19,15,32,3,19,1,5,2,32,3,14,10,32661,1,3,19,15,32,3,19,1,5,2,32,1,16,1,1}4,1,17,9,32II1,2,1,19,1,32,2,19,1,8,13,32,1,9,2,19,1,32,1,19,1,4,2,32,1,18,10,32AA1,1,1,19,1,32,3,19,13,10,3,19,1,32,}1,19,1,5,2,32,1,19,10,32II1,1,1,19,1,32,2,19,1,5,13,32,1,1,2,19,1,32,1,19,1,5,2,32,1,18,10,32II1,1,1,19,1,32,2,19,1,5},13,32,1,1,2,19,1,32,1,19,1,5,2,32,1,18,10,32KK1,1,1,19,1,32,2,19,1,11,13,32,1,11,2,19,1,32,1,19,1,5,2,32,1,18,10,32KK}1,1,1,19,1,32,2,19,1,12,13,32,1,12,2,19,1,32,1,19,1,5,2,32,1,19,10,32II1,1,1,19,1,32,2,19,1,5,13,32,1,1,2,19,1,32,1,19,1},5,2,32,1,18,10,32II1,1,1,19,1,32,2,19,1,5,13,32,1,1,2,19,1,32,1,19,1,5,2,32,1,19,10,32"@@1,1,1,19,1,32,3,19,13,3,3,19},1,32,1,19,1,5,2,32,1,18,10,32,TT1,1,1,19,1,32,5,19,1,10,3,19,1,10,3,19,1,10,5,19,1,32,1,19,1,5,2,32,1,19,10,326NN1,1,1},19,1,32,4,19,1,5,1,32,1,1,1,19,1,5,1,32,1,1,1,19,1,5,1,32,1,1,4,197''1,32,1,19,1,5,1,8,1,32,1,19,10,32@UU1,1,1,19,1,32},5,19,1,3,3,19,1,3,3,19,1,3,5,19,1,32,1,19,1,5,1,19,1,8,1,18,10,32J;;1,1,1,19,1,32,19,19,1,32,1,19,1,5,1,19,1,5,1,19,10,32}TMM1,1,1,19,1,32,3,19,1,6,11,32,1,7,3,19,1,32,1,19,1,5,1,19,1,5,1,18,10,32^EE1,1,1,19,1,32,3,19,13,32,3,19,1,32,1,19,1,}5,1,19,1,6,1,19,10,32h;;1,1,1,19,1,32,3,19,13,32,3,19,1,32,1,19,1,5,1,6,12,32r??1,1,1,19,1,32,3,19,1,8,11,32,1,9,3,19,1},32,1,19,1,5,13,32|1,1,23,19,1,5,14,32 23,10 0,0 ARM27,32,1,13,1,14,1,15,3,141,16,1,14,1,17,1},32,1,182,32,1,19,2,32,1,18,2,321,18,2,32,1,18,2,32,1,192,32,1,18,2,32,1,19,2,321,19,1,32,0,00 NU}MBERS:''21,26,83,88,34,48,57,64,91,95,0,0END OF GAME'+@%@'-@k0@ @}70@@@Q0@@@k0@@@(@ ((@} ((@##(@ YOU LASTED FOR8"(@  TURNS-(@8(@$$(}@press to play A$uGRAPHIC ROUTINESyi +AY1AR@S6-F:}A`,%F:Aa,$AVi%@%@d"y.-@"'%@%+ .$}/6-P:+F:AB,&@,}'@,$@L@@6-?:C:hRhUhThYhX V`,<$AV<A$, }@A}V$ D:SLOTS.CURSSFARMLHVLVNOLIGFILEDCHBAS@@@@@A* ***" }*(( **" }*UUUUUU@@@@@UUUUUUPPPTTTUUTTUUTTUUUU" }U@PTTUUUUUTTP@ * ? ( **" }EEEEEEEEPQAUUUUUU@PPEAQQQQQQQQUUTTPP@@UU@@PPTTUUUUUUUUUUUUUUUUUUUU??" }??UUUUQUQUUUUUUUUU((((((** * ** *(("}((((((**((((**<<<<<<?? ( 0000 ??"}?? **** ** (( ***"} *** 0 FE ##CONVERT ATARIWRITER+ TO ANTICd;@,;@,n&}6.D1:TAIL2TUT.000x-@@ 6.=:,6-@&B:,-67@<@,.1-67<@,.2 &}@@2( CONVERTING 67@<@,.2* @@* A3)@&}@)*@3 A?6-@*@(6-@ 5*@? A@@&} D:ANTICTUT.BAS ##CONVERT ATARIWRITER+ TO ANTICd;@,;@,n$% been a little confusing, make a lot more sense second time through.All the screens, programs and character maps used to cr*}eate the demo sequence are on the disk. Run these programs and watch how they work. Use your word processor to look at the pr*}ograms, they illustrate many animation techniques. Use MAPPER to convert the maps to symbol tables and look at them with you *}word processor too. The editor may seem a little complicated at first, but soon you will be using it to totally amaze your fr*}iends.or Programs.With the exception of the special usage of the Q command, all the commands can be used in programs. In t()chhhhhhhhhhhhg0<ۛ<ۊ}") <"(% ْ"- <.Y[Y[ Ғ"A <"D <ۛHgggH_ <EGt <[IPk <[[Դcg1<ۊ/}""ۛ<ۈ}3=facacccchcccccaffaaaaA0<ӒӚӚӚښӚښ1}Xۛۓ0ۓےҚҒҒҒ+' HIY HIIے2}'I HIHHIIHۛҚҒL3YAHHKY HHۓҒޓ h_(hIAI˙IIۛ!3}II#II"&II)IIITIIVII"YII?ӖڒҒ(-IHHHIIYII@HAI h[ێ4}ۓۓۚқ֚?9(IӛӛӚښӚAD 4II [[[[[Y[[5}YYKYy"JۛM7K OyIOYKIHAAIۛM?$I [[YK[YKIIIێ6}ۛpIٛp Iےp(IۛpSI"pXI"M II IO O H[AAAHIٛҒp IIIIIYIHKKێ7}ےt#"IIIIAY[yےښӳtQ7E@YA@@HIIۛ(󓓀t HKHh 8}hn<ښړӒ<Қ ۛ#YI@H H[IAHYYKK@@"T 5f"99=M[83O"[[[YYYYIHH"_{ (<}^=S.@A0IAA"g YK- IYYYYIIHE@@hۛۛM%IJ.~IIIIIII=}IIIIIIII8p IIIIIIIIII?eIIIII"AXIIIBNIII"CEIID>II"D8ID2ID.IE*I"E&I"F#G#?)aach>}acaaaaaAIےARۛFAIY[۳ӒMTI[@<ښۛӛIAI"Rac}ۓ"[@ [ۛ[MYO[ҒbaB <˓[Kқے8(BKIIIII@IIy[III[[[[[[[[[[[[[d}B  _IIۚY[[@IIIIF*IIےHIII"O'IIۛC%KHЖT<ےҒY<ۖe}ۛe<"n <ۛn4 K_[r<[YYs Hۛ[n f}IyIYh",<"nKr w[{  (zKHxHg}֛p>Hn8_\ۋTc KJ"AQ:W2V@IA?I(DIP9jcjeeaeaeh}aeaeeeaeejjhjh 2<ҚӚӚ FII[IIIIIIIIIIIIIIIi}IIIIIIIIHI[yIIIIII@ OIYK8RӚۛ˛Ӗӛۓ HyYIYۛҚYj}ښ[3<[1IIOOOۛ0֚9 __*. YYY[[ۛۛ)&< OhH[Yy@@hHۛk}ڛ"5 IY"2 HHYYٓ8 Iۚ83h089ӛ2" [I@ӓ1MIIIIےl}1RIIKIIۓҒ"A) Ohۚ"?5 (˛"J<A(@hT8 T6 ޞN>ۛ"1X0IIIIYm}IYYYYKۚ00Ҟ#fIIIIIIKے0"5hhIO HAIHHY y[Ғ"m8IOIIIIIIIAIIIn}IIYIH@H_Y[Y[xۛ"[ے?NM_YY H@@0YKP6<֚o}@Жps by qIyKK"P<ۛv}ҚӚӚҒҒ[ۚ@1ӚӚNy@hIKyY"Ts"\R?!IK@ _YKY_YKۚw}YY[[["nS IK[9IY"OZ"FEc){[YYY HAIY˙ jK0Nb~}4 <ړӚ^'R" H sړT)X/ ٛޞbchghghhhhcPL<ۚڒ}ٚڛڛӛۛۛӚ۳"4 82<[K92YK";5ۛI2 <"J2ښ}G5ۛ8N<[ [Y H8N0Y[ EH[((h=_II>> <ۛ?NIښJN}<۞4 HYyHIII@@@K[[ۚ[[Y[Y[[[[S-S.II _[ [KII@}((@@H @+` ڛۛh(zE( (h3hK:[>EH[@L KP(}(@1<""}}[[ @ۛҚۛӚ mYӚ[KۙPIYIKYY˘}h"T>ۛ"~%3ڛڛӛۚӚӚӚӚڛڛ۞Uٛ"1<ۢ}"3ښӚޖ}}Ӛ (h Y_[[[[ۛۛ[۠}ӠΨ΍ӠνΫӠĽӠƽ̠̬ŠōӠнЍàЬ ōӠֽЍɠκԠӠϨԠӠϨԦ}ӠϨԠӠϨĠԍߠЍԠˍŠ֍ŠύƠЍЍōˍР䬠릌}󮍥ύɠκԠРŠР֍Р}宍Р򮍥ˮР宍ӠŨɠΨ}Ԡ͠Š͠ɠΣԠӠŨԠ͠֍׮ή֍ɠŨԠɠè}ԠʠӠ˽Ѝàˬߠˍ֠Р宍ˍōЦ}ߠЍԍˍԍӠнЍàЬ ȍӠֽЍĠߠЍԍР󮍮Ơ}ЍЍԍӠŨ͠ύ}ĽӠƽ̠̬ŠōӠнЍàЬ ōӠֽЍɠκԠӠϨԠӠϨԤIffhfbhhhhfhf.PޚӚۛ ۛۛyۛ%}ۛ"K[V ۛ"8{<ӛӛӛۚڛۛ[ٛӛښ0۳}@@[K@Y["|H_"$sҚښ*W Ӛ"FD+Ҫ}ڛ0ڛ2E ۚӛۚ"?Lڛڞ@LڛCY<ۛӛyIIKK}Ch <[["HL<[[ y"IQ [[ "FD'I[YYyOK[[[KIK[KK"PgY[M79\]U4ήtf#q[\4$&>)Ն%)tP#RMey!6M